#include <stdio.h>
#include <iostream>
//#include "Bal.cpp"
#include "Bal.h"
#include "BalPositie.h"
#include "BalVector.h"
  
BalVector::BalVector()
{

}

BalVector::~BalVector()
{
}
  
  void BalVector::setBal(Bal b)
  {
  	  balOld=balNew;
	  balNew=b;
  }
  void BalVector::setBal(int x, int y, long t)
  {
      balOld=balNew;
	  balNew.setPositie(x,y);
	  balNew.setTijd(t);
  }
  int BalVector::calculateDifference()
  {
  	return calculateDifference(balNew,balOld);	
  }
  int BalVector::calculateDifference(Bal bal1,Bal bal2)
  {
  	 int Xverschil= bal1.getPositieX()-bal2.getPositieX();
  	 int Yverschil=bal1.getPositieY() - bal2.getPositieY();
  	 //cout << "in calculateDifference \n";
	printf("in calculateDifference\n");  	 
	return Xverschil;
  }
  bool BalVector::isInRange(int &x, int &y)
  {
	  float xVerschil= balOld.getPositieX() - balNew.getPositieX();
	  float yVerschil= balOld.getPositieY() - balNew.getPositieY();
	  float yPos = (yVerschil/xVerschil) * (-XRANGE - balNew.getPositieX());
	  yPos += balNew.getPositieY();
	  //xVerschil moet groter dan nul zijn om te verzekeren dat het richting linkerdoel gaat
	  //Yrange moet tussen waarden liggen (buiten het  veld vermijden)
	  if(yPos < YRANGE && yPos > - YRANGE && xVerschil > 0)
	  {
		  y = (int) yPos;
		  x = -XRANGE;
		  return true;
	  }
	  else
	  {
		  y=0;
		  x=0;
		  return false;
	  }
  }

